문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Java Virtual Machine (문단 편집) == 성능 == 바이트코드는 실제의 기계에서 직접 실행되는 것이 아니라 JVM의 해석 단계를 거쳐 실행되므로 [[Java]]로 개발된 프로그램은 같은 기능의 네이티브 언어[* [[C(프로그래밍 언어)|C]], [[C++]], [[Rust(프로그래밍 언어)|Rust]], [[Go(프로그래밍 언어)|Go]] 등]보다 실행 속도가 느리다. 과거에는 바이트코드를 순수하게 [[인터프리터|인터프리트]]하여 매우 느렸으나 현재는 [[JIT]] 컴파일의 도입과 하드웨어의 발전으로 성능이 개선되었다. 메모리의 접근을 가상 머신 차원에서 관리하고 있으므로 런타임에 최적화가 가능하다. 그러나 인위적으로 만들어진 매우 극단적이고 특수한 상황에서 그것도 극히 일부 기능에 대해서만 네이티브 언어보다 우월한 성능을 보여 준다. JIT 컴파일 시간, 가비지 컬렉션을 위한 시간 등이 필요하므로 근본적인 한계가 있다.[* 이 부분이 매우 중요해서 JVM이나 .NET CLR 등 가상머신 기반에서 벤치마크를 돌릴 때는 '''1~5회 정도 웜업을 한 후에''' 측정한다.]저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기